perm filename FILES.DOC[LSP,SYS] blob
sn#047718 filedate 1973-06-15 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00010 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 HOW TO MAKE A UCILISP AT STANFORD
C00004 00003 ACTUAL PROCEDURES
C00006 00004 POSSIBLE FULL BOOTSTRAP
C00007 00005 IPLNR
C00008 00006 ICNVR
C00009 00007 DWIM
C00010 00008 FILENAME DIFFERENCES
C00011 00009 DIFFERENCES IN FILES
C00012 00010 DECTAPE DETAILS
C00013 ENDMK
C⊗;
HOW TO MAKE A UCILISP AT STANFORD
These procedures really assume you have some running Lisp already,
and you should always use the "highest-level" file from UCI (ie
use FOO.LAP rather than FOO.LSP) as the compilation etc is
sometimes optimized to make it work (faster?).
A UCILISP system consists of the following files:
ILISP.DMP interpreter etc
ILISPn.SEG shared high segment
ICOMPLR.DMP compiler
ILISP.LOD loader, sucked in by (LOAD x)
ILISP.SYM symbol table for loader
IARITH.LSP for Fortran arith
IARITH.REL for Fortran arith
to make you need by from
ILISP.DMP ILISP.REL ASS ILISP.MAC
and LAP
ILISPn.SEG SYS1.LAP COM SYS1.LSP
SYS2.LSP
ERRORX.LSP
ERRORX.LAP COM ERRORX.COM
BREAK.LAP COM BREAK.LSP
EDIT.LAP COM EDIT.LSP
ILISP.SYM ILISP.REL ASS ILISP.MAC
ISYMMK.REL ASS ISYMMK.MAC
ILISP.LOD ILOAD.REL ASS ILOAD.MAC
ICOMPLR.DMP ILISP.DMP above
COMPLR.LAP COM COMPLR.LSP
COMFIX.LSP
IARITH.LSP
IARITH.REL ASS IARITH.MAC
ACTUAL PROCEDURES
******* These allocations are not all correct: please notify DBA
of the correct ones.
ILISP.REL
.R MACRO
*ILISP.REL/P/P←ILISP.MAC
ILISP.DMP,ILISPn.SEG
.R LOADER
*ILISP$
CORE 8
.START
BPS=200
(INC (INPUT DSK:LAP))
<random messages>
(SETSYS SYS: ILISPn)
↑C
.SAVE ILISP
ILISP.SYM
.R LOADER
*ILISP.REL/J,ISYMMK.REL$
.S
ILISP.LOD
.R LOADER
*LOADER.REL$
.START
.RENAME ILISP.LOD←LISP.LOD
ICOMPLR.DMP
(.AS DSK SYS possibly)
.R ILISP 36
FW=2000, BPS=15000
*(INC (INPUT DSK: (COMPLR.LAP)))
<random messages>
*(DSKIN (COMFIX.LSP))
*(NOUUO NIL)
*(CINIT)
*↑C
.SAVE ICOMPLR
Special reminder: if you change a file, you must change EVERY file which
depends on it. Thus if you fix ILISP.MAC you must make a NEW version
of Lisp, the symbol table, the compiler and really you should do CNVR
and PLNR too.
!!!!! TOVAR will fill you in on the details for this reminder !!!!!
POSSIBLE FULL BOOTSTRAP
(a fine test of system integrity!)
You will need to have a correct and compilable version of the first
part of the current LAP file. I will call this LAP.LSP.
Assemble ILISP.MAC and load it.
Read in COMPLR.LSP
Compile COMPLR.LSP
Compile LAP.LSP
Load ILISP.REL, read in LAP.LSP,LAP.LAP
Compile from their LSP versions all the LAP files mentioned on
previous pages.
Now you can go as before.
Why doesn't this work? Answer: it should!
Why is this a bad idea? Answer: some of the LAP files are optimized
versions of the LAP files the compiler would produce.
IPLNR
How to make a microplanner for UCILISP
Compile DPLNR.LSP
Allocations???
Run Lisp
Allocations???
load dplnr.lap
(PINIT)
*↑C
.SAVE IPLNR
ICNVR
How to make one!
ICNVR.DMP MACLSP.CMP
CNVR.LSP
STRCNV.LSP
UTIL.LAP
To compile it
.R ICOMPLR 30
RPDL=450
*(DSKIN (MACLSP.CMP))
*(MACLSP)
*(COMPL (CNVR.LSP))
*
To get it going
.R ILISP 36
FW=650, BPS=16300
*(DSKIN (STRCNV.LSP))
*<at this stage, do REMOB on CNNVERFNS, the list of functions in CNVR>
*π
*(DATA*INIT)
*(GCGAG T)
*(EXCISE)
*↑C
.SAVE ICNVR
Special note: editing CNVR.LSP or CNVR.LAP with TV, ETV or SOS causes
trouble as the file (legitimately) contains an altmode. If you want to
edit them I suggest you get rid of the altmode. It isn't as easy as
you might think!
DWIM
instructions. Not done at Stanford so far!
Compilation Allocations=???
Load DWIM.COM
Compile DWIM.LSP
Loading Allocations=???
Load DWIM.INT,DWIM.LAP
(DINIT)
<there you are>
FILENAME DIFFERENCES
HERE UCI
ILISP.* UCILSP.*
ILOAD.* LOADER.*
ISYMMK.* SYMMAK.*
IARITH.* ARITH.*
ILISP.LOD LISP.LOD
ILISP.SYM LISP.SYM
DIFFERENCES IN FILES
FILENAME AUTHOR CHANGE
ILOAD.MAC DBA Put in 3 instructions for relocation stuff. Note
this is a change to the STANFORD loader, not the
one given away by UCI, which we do not use.
ILISP.MAC MJC Put in Stanford version of GETSEG
MJC Put in segment protection for Stanford
MJC Fixed it to look for Stanford-named loader etc.
DECTAPE DETAILS
The directories of the relevant tapes are DTADIR.UCn
on this area.